Enforce public API docs inventory - #458
Conversation
|
Warning Review limit reached
Next review available in: 4 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughThe change adds runtime public API discovery and documentation coverage checks, documents Chart and Selection APIs, and introduces a local documentation verification workflow separate from example checks. ChangesAPI inventory and documentation checks
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant Makefile
participant verify_local
participant verify_docs_local
participant DocsApp
Makefile->>verify_local: run docs check
verify_local->>verify_docs_local: invoke documentation verifier
verify_docs_local->>DocsApp: run docs tests and quality checks
DocsApp-->>verify_docs_local: return status
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Greptile SummaryThe PR centralizes the supported component and method inventory, checks API-reference coverage, and separates documentation verification from example checks.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| scripts/check_public_api.py | Centralizes API discovery and manifest comparison, then validates public Chart and Selection methods against API-reference documentation. |
| scripts/verify_docs_local.py | Adds the documentation verification sequence covering dependency sync, docs tests, API inventory, quickstart validation, formatting, linting, and spelling. |
| scripts/verify_local.py | Registers the new documentation verification sequence as the docs check group. |
| tests/test_public_api.py | Reworks checker fixtures around discovered API categories and adds manifest and documentation-coverage tests. |
| tests/test_type_surface.py | Replaces duplicated API lists with the centralized inventory and extends type-surface coverage to support factories and Selection rows. |
| docs/api-reference/figure-methods.md | Documents notebook display behavior and the public chart view and selection state methods. |
| docs/api-reference/events-and-callbacks.md | Adds Selection.rows(limit=None) to the documented selection API. |
Reviews (4): Last reviewed commit: "Fix test helper import ordering" | Re-trigger Greptile
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@scripts/check_public_api.py`:
- Around line 408-409: In the validation flow around build_public_api_inventory
and validate_declarative_api_contract, validate components_module.Chart and
__all__ before constructing the inventory. Return or otherwise stop inventory
construction when either guard reports invalid input, preserving the validation
errors instead of allowing dereference or getattr exceptions; add regression
coverage for a missing Chart and a non-string __all__ member.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: da885517-cebc-4d69-b52c-a3f64e365bc7
📒 Files selected for processing (8)
Makefiledocs/api-reference/events-and-callbacks.mddocs/api-reference/figure-methods.mdscripts/check_public_api.pyscripts/verify_docs_local.pyscripts/verify_local.pytests/test_public_api.pytests/test_type_surface.py
There was a problem hiding this comment.
All reported issues were addressed
Tip: instead of fixing issues one by one fix them all with cubic
Tip: cubic used a learning from your PR history. Let your coding agent read cubic learnings directly with the cubic MCP.
Re-trigger cubic
There was a problem hiding this comment.
All reported issues were addressed across 5 files (changes from recent commits).
Tip: Review your code locally with the cubic CLI to iterate faster.
Fix all with cubic | Re-trigger cubic
Closes #444
Summary
Testing
Summary by CodeRabbit
New Features
Selection.rows(limit=None), enabling access to selected rows with optional result limits.Documentation
Tests